home *** CD-ROM | disk | FTP | other *** search
- <?xml version='1.0'?>
- <Schema xmlns="urn:schemas-microsoft-com:xml-data"
- xmlns:dt="urn:schemas-microsoft-com:datatypes">
-
- <!--
- Copyright 1999 Wattle Software
- This Schema is based on XML-Schema support found in
- Microsoft Internet Explorer 5.
- Use at your own risk!
- -->
-
- <!-- first we need to declare all elements that will appear only as child elements -->
-
- <ElementType name="first-name" content="textOnly"/>
- <ElementType name="last-name" content="textOnly"/>
- <ElementType name="name" content="textOnly"/>
- <ElementType name="price" content="textOnly" dt:type="fixed.14.4"/>
- <ElementType name="title" content="textOnly" dt:type="string"/>
- <ElementType name="artist" content="textOnly" dt:type="string"/>
- <ElementType name="callno" content="textOnly" dt:type="string"/>
- <ElementType name="date" content="textOnly" dt:type="date"/>
- <ElementType name="online_url" content="textOnly" dt:type="string"/>
-
- <!-- and all attributes too -->
-
- <AttributeType name="hardback" dt:type="string"/>
- <AttributeType name="series" dt:type="string"/>
-
- <!-- Now we can define the more interesting elements (i.e. those that can have children ) -->
-
- <ElementType name="author" content="eltOnly" order="one">
- <!-- An author can contain EITHER: a name, or a sequence of first-name then last-name -->
- <group order="seq">
- <element type= "name"/>
- </group>
- <group order="seq">
- <element type="first-name"/>
- <element type="last-name"/>
- </group>
- </ElementType>
-
- <ElementType name="director" content="eltOnly" order="one">
- <!-- A director can contain EITHER: a name, or a sequence of first-name then last-name -->
- <group order="seq">
- <element type= "name"/>
- </group>
- <group order="seq">
- <element type="first-name"/>
- <element type="last-name"/>
- </group>
- </ElementType>
-
- <ElementType name="video" content="eltOnly">
- <element type="title"/>
- <element type="director"/>
- <element type="callno"/>
- </ElementType>
-
- <ElementType name="cd" content="eltOnly">
- <element type="title"/>
- <element type="artist"/>
- <element type="callno"/>
- </ElementType>
-
- <ElementType name="journal" content="eltOnly">
- <!-- declare series as an optional attribute of journal -->
- <attribute type="series" required="no"/>
- <element type="title"/>
- <element type="date"/>
- <element type="callno"/>
- </ElementType>
-
- <ElementType name="book" content="eltOnly">
- <!-- declare hardback as an optional attribute of journal with default value of "no" -->
- <attribute type="hardback" default="no"/>
- <element type="title"/>
- <!-- allow for multiple authors with maxOccurs -->
- <element type="author" maxOccurs="*"/>
- <element type="callno"/>
- <!-- allow for ONE optional URL -->
- <element type="online_url" minOccurs="0" maxOccurs="1" />
- </ElementType>
-
- <ElementType name="library" content="eltOnly">
- <!-- the library name comes first -->
- <element type="name"/>
- <!-- followed by a collection of books, videos and cds -->
- <group order="many">
- <element type="book" maxOccurs="*"/>
- <element type="journal" maxOccurs="*"/>
- <element type="video" maxOccurs="*"/>
- <element type="cd" maxOccurs="*"/>
- </group>
- </ElementType>
-
- </Schema>